package image

import (
	"strings"
	"time"
)

/*
*
镜像的领域对像
*/
type Image struct {
	name       string    // 镜像的名称
	tag        string    // 镜像的版本
	createTime time.Time // 创建时间
	layers     []string
	entryPoint []string // 入口，如果入口是shell模式，则忽略参数和Command的参数。否则(为nil或exec模式) command 会追加到后面。 参考：https://www.cnblogs.com/sparkdev/p/8461576.html
	command    []string // 容器的启动命令及参数
	environ    []string // 环境变量
	workDir    string   // 工作目录
	hash       string
}

func (image *Image) GetName() string {
	return image.name
}

func (image *Image) GetTag() string {
	return image.tag
}

func (image *Image) GetCreateTime() time.Time {
	return image.createTime
}

func (image *Image) GetFullName() string {
	return image.name + ":" + image.tag
}

func (image *Image) GetLayers() []string {
	return image.layers
}

func (image *Image) GetEntryPoint() []string {
	return image.entryPoint
}

func (image *Image) GetCommand() []string {
	return image.command
}

func (image *Image) GetEnviron() []string {
	return image.environ
}

func (image *Image) GetWorkDir() string {
	return image.workDir
}

func (image *Image) GetHash() string {
	return image.hash
}

func (image *Image) GetSimpleHash() string {
	return strings.Split(image.hash, ":")[1][:10]
}
